(function() {
    var Class = {
        winHeight: 0
		, winWidth: 0
        ,
		initGateOnce: function initGateOnce() {
		    //winW = $(document).width();
		    //var $wrap = $('#wrap'), $selType = $wrap.find('.typeView');
		    //$selType.css({
		    //    'left': (winW - 974) / 2
		    //});
		    $('html, body').animate({ scrollTop: 0 }, 600);
		}
        ,
		initMVisualSliderOnce: function initMVisualSliderOnce() {
		    winW = $(document).width();
		    docW = winW;
            var totWidth = 0;
            var positions = new Array();

            $('#slides .slide').each(function (i) {
                $this = $('#slides .slide');
                $('#slides .slide').width(docW);
                positions[i] = totWidth;
                totWidth += $this.width();
                //if (!$(this).width()) {
                //    alert("Please, fill in width & height for all your images!");
                //    return false;
                //}

            });
            //$('#slides').width(totWidth);
            $('#slides').width(docW*4);
            
            $('#menu ul li a').click(function (e, keepScroll) {
                $('li.menuItem').removeClass('act').addClass('inact');
                $(this).parent().addClass('act');

                var pos = $(this).parent().prevAll('.menuItem').length;

                $('#slides').stop().animate({ marginLeft: -positions[pos] + 'px' }, 450); 
                e.preventDefault();
                if (!keepScroll) clearInterval(itvl);
            });
            $('.visualAct a').click(function (e) {
                clearInterval(itvl);
                e.preventDefault();
            });

            $('#menu ul li.menuItem:first').addClass('act').siblings().addClass('inact');

            var current = 1;
            function autoAdvance() {
                if (current == -1) return false;
                $('#menu ul li a').eq(current % $('#menu ul li a').length).trigger('click', [true]);
                current++;
            }

            var changeEvery = 10;
            var itvl = setInterval(function () { autoAdvance() }, changeEvery * 300);

        },
		initMainscrollMoveOnce: function initMainscrollMoveOnce() {
            var $this = $(this),
				target = $this.find('#btnContentView');
            if (!$this.get(0)) { return false }
            target.click(function () {
                $('.bigPreViewer').fadeOut(100);
                $('.actArea').removeClass('on');
                $('.visualAct a, #menu').removeClass('off');
                var movepoint = $('#container').offset().top;
                $('html, body').animate({ scrollTop: movepoint }, 600);
                return false;
            })
        },
		initThumnailListFuncOnce: function initThumnailListFuncOnce() {
            var $wrap = $('#wrap'),
                $actBtn = $wrap.find('.visualAct a'),
		        $fadeInOut = $('.fadeInOut'),
                $showIn = $('.showIn'),
		        $imgListLi = $('.imgList li'),
                $imgListLiA = $('.imgList li.animate'),
                $preViewer = $('.preViewer');
            $actBtn.click(function (e) {
                $('.visualAct a, #menu').addClass('off');
                $('.actArea').addClass('on');
                setTimeout(function () {
                    $fadeInOut.fadeIn(300);
                    return false;
                }, 500);
                setTimeout(function () {
                    $fadeInOut.fadeOut(300);
                    return false;
                }, 3000);
                setTimeout(function () {
                    $showIn.fadeIn(300);
                    return false;
                }, 3500);
                setTimeout(function () {
                    $imgListLi.addClass('animate ');
                    $imgListLi.eq(0).addClass('n01');
                    $imgListLi.eq(1).addClass('n02');
                    $imgListLi.eq(2).addClass('n03');
                    $imgListLi.eq(3).addClass('n04');
                    $imgListLi.eq(4).addClass('n05');
                    $imgListLi.eq(5).addClass('n06');
                    $imgListLi.eq(6).addClass('n07');
                    $imgListLi.eq(7).addClass('n08');
                    $imgListLi.eq(8).addClass('n09');
                    $imgListLi.eq(9).addClass('n10');
                    $imgListLi.eq(10).addClass('n11');
                    $imgListLi.eq(11).addClass('n12');
                    $imgListLi.eq(12).addClass('n13');
                }, 4000);
                e.preventDefault();
                e.stopPropagation();
            });
            $imgListLi.click(function () {
                $('.preViewer').css({
                    'display': 'block',
                    'left': (winW - 302) / 2
                });
            });
            $preViewer.click(function () {
                $imgListLi.fadeOut(100);
                $showIn.fadeOut(100);
                $preViewer.fadeOut(100);

                $('.bigPreViewer').css({
                    'display': 'block',
                    'left': (winW - 970)/2
                });
            });

		},
        init: function () {
		    var wrapper = this;
		    function init(obj, prefix) {
		        prefix = typeof prefix === 'undefined' ? '' : prefix;

		        for (var func in obj) {
		            if (obj.hasOwnProperty(func)) {
		                if (func.indexOf('_') == 0) {
		                    init(obj[func], prefix + func);
		                } else {
		                    if (func !== 'init' && func.indexOf('init') == 0) {
		                        var $document = $(document);
		                        if (func.lastIndexOf('Once') + 4 == func.length && !$document.data(prefix + func)) {
		                            $document.data(prefix + func, true);
		                            obj[func].call(wrapper);
		                        } else if (func.lastIndexOf('Once') + 4 != func.length) {
		                            obj[func].call(wrapper);
		                        }

		                    }
		                }
		            }
		        }
		    }

		    init(Class);
        }
    };

    if (typeof this['ifcUI'] === 'undefined') {
        this['ifcUI'] = Class;
    }
})();$.fn.ifcUI = ifcUI.init;$(function () {
    $(document).ifcUI();
});